<?php namespace web\home\controller;
/** .-------------------------------------------------------------------
 *首页控制器
 */

class Entry extends Common {
	protected  $temp=[];
	//首页
	public function index() {
//		title数据
		$conf=['title'=>'首页'];
		View::with('conf',$conf);
//		获得热销商品数据
	$hotGoods=Db::table('goods')->orderBy('click','desc')->limit(4)->get();
		View::with('hotGoods',$hotGoods);
//		楼层数据

//		1.顶部分类数据
		$categoryData=Db::table('category')->get();
//		获取所有顶级分类吧把所有子集压进去
		$Data=Db::table('category')->where('pid',0)->get();

//		2.内部商品信息
			//循环递归找子集
		foreach($Data as $key=>$value){
			$this->temp=[];
			$Data[$key]['cids']=$this->getSon($categoryData,$value['cid']);
		}

//p($Data);
		foreach($Data as $k=>$v){
			//通过cid获得子分类名称
			if($v['cids']){
				$Data[$k]['_data']=Db::table('category')->whereIn('cid',$v['cids'])->get();
			}
			//通过cid获得goods表数据
			if($v['cids']){
				$Data[$k]['goods']=Db::table('goods')->whereIn('cid',$v['cids'])->limit(15)->get();
			}else{
				$Data[$k]['goods'] = [];
			}
		}
//		p($Data);
		View::with('floorData',$Data)->make();
	}
	/**
	 * @param $data 分类数据
	 * @param $cid	具体一个分类id
	 * @return array  所有子集数据
	 */
//	递归找子集
	public function getSon($data,$cid){
		foreach($data as $k=>$v){
			if($cid==$v['pid']){
				$this->temp[]=$v['cid'];
				$this->getSon($data,$v['cid']);
			}
		}
		return $this->temp;
	}
}